上篇介紹了 CI/CD 的定義及其價值,這篇將介紹 Migo 在 dbt 上設計的 CI/CD 流程。
Migo 作為乙方公司,處理多家客戶資料,不同客戶可能同時進行 models 開發。因此,CI/CD 階段需要快速執行、確保各個 PR 間不互相影響,最重要的是確保資料的正確性。
在 CI 階段,我們希望將異動的 models 執行結果存入測試環境,以確認 models 能夠順利執行。執行後,還需要驗證資料是否有問題。
以上需求可分為三個 CI 階段:
在 CD 階段,我們希望在正式環境中執行異動的 model,產生 dbt 文件並上傳至指定位置,最後重新建立 dbt 映像檔。
CD 可分為以下四個階段:
以上 CI/CD 總共有 7 個階段。我們團隊會運用 dbt CLI 指令、dbt 相關套件以及自行開發的工具來滿足每個階段的需求。未來的文章將會逐一介紹如何實作這些功能。